#include "NativeImage.h"
#include "RawImage.h"

using namespace WONAPI;

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeMask::NativeMask(DisplayContext *theDisplayContext) : mDisplayContext(theDisplayContext)
{
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeMask::~NativeMask()
{
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeIcon::NativeIcon(DisplayContext *theContext) : mDisplayContext(theContext)
{
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeIcon::~NativeIcon()
{
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeImage::NativeImage(DisplayContext *theContext)
{
	mGraphics = NULL;
	mDisplayContext = theContext;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeImage::~NativeImage()
{
	delete mGraphics;
	mGraphics = NULL;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
RawImage32Ptr NativeImage::GetRaw()
{
	return NULL;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
NativeImagePtr NativeImage::GetNative(DisplayContext *theContext)
{
	return this;
}

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
Graphics& NativeImage::GetGraphics()
{
	if(mGraphics==NULL)
	{
		mGraphics = PlatformGetGraphics();
		mGraphics->Attach(mDisplayContext);
	}
	return *mGraphics;
}
